package com.wjw.java.oop.polymorphic_.demo;

/**
 * 主人类：
 * 主人根据宠物类型和食物名称,进行宠物的喂养
 */
public class Master {

    String name;

    public String getName() {
        return this.name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Master(String name) {
        this.name = name;
    }

    /**
     * 多态的写法,以下的方法就可以不用了
     * @param animal 编译类型是Animal,它可以指向(接收) Animal的子类对象
     * @param food   编译类型是Food,它可以指向(接收) Food的子类对象
     */
    public void feedAnimal(Animal animal, Food food){
        System.out.println("主人：["+this.name+"],喂["+animal.getName()+"]吃:"+food.getName());
    }

    //主人给狗喂食
//    public void feedAnimal(Dog dog,Bone bone){
//        System.out.println("主人：["+this.name+"],喂["+dog.getName()+"]吃:"+bone.getName());
//    }
    //主人给猫喂食
//    public void feedAnimal(Cat cat,Fish fish){
//        System.out.println("主人：["+this.name+"],喂["+cat.getName()+"]吃:"+fish.getName());
//    }

}
